var Layout = {
    config : {
        minHeight : 600 ,
    },
    
    init : function() {
        var _this = this ;
                
        $(window).resize(function(){
            _this.init_page_content();
        });
        
        $(window).scroll(function(e) {
            var scroll_top = $(window).scrollTop();
            var isHidden = $(".scroll-to-top").is(":hidden") ;
            
            if ( scroll_top > 100 && isHidden ) {
                $(".scroll-to-top").fadeIn();
            } else if ( scroll_top < 100 && !isHidden ){
                $(".scroll-to-top").fadeOut();
            }
        });
        
        _this.init_page_content();
        _this.init_sidebar();
        
        
        $('[data-toggle="tooltip"]').tooltip() ;
    },
    
    init_page_content : function(){
        var _this = this ;
        var wWidth = $(window).width();
        var sidebar_closed = sessionStorage.getItem("sidebar_closed");
        if ( sidebar_closed > 0) {
            if ( wWidth >= 768 ) {
                if ( !$('body').hasClass("page-sidebar-closed")) {
                    $('body').addClass("page-sidebar-closed");
                }  
            } else {
                if ( $('body').hasClass("page-sidebar-closed")) {
                    $('body').removeClass("page-sidebar-closed");
                }   
            }
        } else {
            if ( wWidth >= 992 ) {
                if ( $('body').hasClass("page-sidebar-closed")) {
                    $('body').removeClass("page-sidebar-closed");
                }   
            } else if( wWidth >=768 && wWidth < 992 ) {
                if ( !$('body').hasClass("page-sidebar-closed")) {
                    $('body').addClass("page-sidebar-closed");
                }  
            } else if( wWidth < 768 ) {
                if ( $('body').hasClass("page-sidebar-closed")) {
                    $('body').removeClass("page-sidebar-closed");
                }   
            }
        }
        
        var wHeight = $(window).height();
        var bHeight = wHeight < _this.config.minHeight ? _this.config.minHeight : wHeight -81 ;
        
        $('.page-content').css({
            height : 'auto',
            minHeight : bHeight
        });
        //$('.page-content').height(bHeight  );
    },
    
    init_sidebar : function(){

        $('.scroll-to-top').on('click',function(e){
            e.preventDefault();
            $('body, html').animate({scrollTop: 0} , 300);
        });
                
        //侧边栏关闭按钮
        $('.page-sidebar').on('click' , '.sidebar-toggler' , function(e){
            e.preventDefault();
            var body = $('body');
            var sidebar = $('.page-sidebar');
            
            //打开侧边栏
            if (body.hasClass("page-sidebar-closed")) {
                sessionStorage.setItem("sidebar_closed", "0");
                body.removeClass("page-sidebar-closed");
            } else {
                sessionStorage.setItem("sidebar_closed", "1");
                body.addClass("page-sidebar-closed");
            }
        });
        
        //初始化菜单
        $('.page-sidebar-menu li > a').each(function(index) {
            if ($(this).next().hasClass('sub-menu')) {
                $(this).find('span').last().addClass('arrow');
            }
        });
        
        //菜单点击事件
        $('.page-sidebar').on('click' , 'li > a' , function(e){
            if ($(this).next().hasClass('sub-menu') == false) {
                if ($('.btn-navbar').hasClass('collapsed') == false) {
                    $('.btn-navbar').click();
                }
                return;
            }
            
            if ($(this).next().hasClass('sub-menu.always-open')) {
                return;
            }

            var parent = $(this).parent().parent();

            parent.children('li.open').children('a').children('.arrow').removeClass('open');
            parent.children('li.open').children('.sub-menu').slideUp(200);
            parent.children('li.open').removeClass('open');

            var sub = jQuery(this).next();
            var slideOffeset = -200;
            var slideSpeed = 200;

            if (sub.is(":visible")) {
                jQuery('.arrow', jQuery(this)).removeClass("open");
                jQuery(this).parent().removeClass("open");
                sub.slideUp(slideSpeed);
            } else {
                jQuery('.arrow', jQuery(this)).addClass("open");
                jQuery(this).parent().addClass("open");
                sub.slideDown(slideSpeed);
            }

            e.preventDefault();
        });
        
        /*
        $('.sub-menu').on('click' , 'li > a' , function(e){
            e.preventDefault();
            
            $('.sub-menu > li').removeClass('active');
            $(this).parent().addClass('active');

            var old_index = $('.page-sidebar-menu > li.active').index('.page-sidebar-menu > li');

            
            var index = $(this).parent().parent().parent().index('.page-sidebar-menu > li') ;
            if( old_index == index ) {
                return ;
            }
            
            $('.page-sidebar-menu > li').removeClass('active').eq(index).addClass('active');
            $('.page-sidebar-menu > li').eq(old_index).find('span.selected').remove();
            $('.page-sidebar-menu > li').eq(index).find('span.title').after('<span class="selected"></span>');
            
            //$('.page-sidebar-menu > li').eq(index).find('');
        });
        */
    },
    
    set_menu_select : function( id ){
        $('.sub-menu > li').removeClass('active');
        $('#' + id ).addClass('active').show();
        
        var old_index = $('.page-sidebar-menu > li.active').index('.page-sidebar-menu > li');

        //var index = $(this).parent().parent().index('.page-sidebar-menu > li') ;
        var index = $('.page-sidebar-menu > li').index( $('#' + id ).parent().parent() );

        if( old_index == index ) {
            return ;
        }
        
        $('.page-sidebar-menu > li').removeClass('active').eq(index).addClass('active').addClass('open');
        $('.page-sidebar-menu > li').eq(index).find('.sub-menu').show();
        $('.page-sidebar-menu > li').eq(index).find('.arrow').addClass('open');
        $('.page-sidebar-menu > li').eq(old_index).find('span.selected').remove();
        $('.page-sidebar-menu > li').eq(index).find('span.title').after('<span class="selected"></span>');   
    }
};